import {
  DarkTheme,
  DefaultTheme,
  ThemeProvider,
} from "@react-navigation/native"; // 1. 导入导航主题

import { useFonts } from "expo-font"; // 2. 加载字体
import { Stack } from "expo-router"; // 3. 使用 Expo Router 的 Stack 路由方式
import { StatusBar } from "expo-status-bar"; // 4. 状态栏控制
import { useColorScheme } from "react-native"; // 获取系统浅/深色模式
import "react-native-reanimated"; // 5. 必需的动画库，必须在顶层引入

export default function RootLayout() {
  const colorScheme = useColorScheme(); // 获取当前系统配色（"light" / "dark"）

  const [loaded] = useFonts({
    SpaceMono: require("../assets/fonts/SpaceMono-Regular.ttf"),
  }); // 异步加载自定义字体

  if (!loaded) return null; // 字体没加载完成前，不渲染界面（避免布局抖动）

  return (
    <ThemeProvider value={colorScheme === "dark" ? DarkTheme : DefaultTheme}>
      <Stack>
        <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
        <Stack.Screen name="player" options={{ headerShown: false }} />
        <Stack.Screen name="search" options={{ headerShown: false }} />
        <Stack.Screen name="podcast" options={{ headerShown: false }} />
      </Stack>

      <StatusBar style="auto" />
    </ThemeProvider>
  );
}
